Refactor and remove ``redefined-variable-type`` disable 
diff --git a/astroid/brain/brain_dataclasses.py b/astroid/brain/brain_dataclasses.py index 9e86a49..7bb2a60 100644 --- a/astroid/brain/brain_dataclasses.py +++ b/astroid/brain/brain_dataclasses.py 
@@ -68,7 +68,7 @@  return    try: - reversed_mro = reversed(node.mro()) + reversed_mro = list(reversed(node.mro()))  except MroError:  reversed_mro = [node]   @@ -208,9 +208,9 @@  if not init_var:  assignments.append(assignment_str)   - params = ", ".join(["self"] + params) - assignments = "\n ".join(assignments) if assignments else "pass" - return f"def __init__({params}) -> None:\n {assignments}" + params_string = ", ".join(["self"] + params) + assignments_string = "\n ".join(assignments) if assignments else "pass" + return f"def __init__({params_string}) -> None:\n {assignments_string}"      def infer_dataclass_attribute( 
diff --git a/astroid/nodes/node_ng.py b/astroid/nodes/node_ng.py index 147e692..c9aa0e0 100644 --- a/astroid/nodes/node_ng.py +++ b/astroid/nodes/node_ng.py 
@@ -110,7 +110,7 @@  # explicit_inference is not bound, give it self explicitly  try:  # pylint: disable=not-callable - results = tuple(self._explicit_inference(self, context, **kwargs)) + results = list(self._explicit_inference(self, context, **kwargs))  if context is not None:  context.nodes_inferred += len(results)  yield from results 
diff --git a/pylintrc b/pylintrc index a861871..e7f44bf 100644 --- a/pylintrc +++ b/pylintrc 
@@ -96,11 +96,6 @@  too-many-statements,  # We know about it and we're doing our best to remove it in 2.0 (oups)  cyclic-import, - # The check is faulty in most cases and it doesn't take in - # account how the variable is being used. For instance, - # using a variable that is a list or a generator in an - # iteration context is fine. - redefined-variable-type,  # Requires major redesign for fixing this (and private  # access in the same project is fine)  protected-access,